The present invention relates to computing, and in particular, to systems and methods for performing direct reporting access to transactional data stores.
The storage of information by a machine, such as a computer, can be tailored for operational efficiency and effectiveness in different contexts. Such tailoring is often achieved by using different data models in the different contexts. A data model is the logical structure of a data store, and can include the physical storage parameters needed to implement a design. For example, contexts for which data models can be tailored include data analysis or data transactions. For instance, a transactional data store may be optimized for high speed processing of transactions on individual data records. Accordingly, transactional data stores may use transactional data models that are generally tailored to facilitate efficient modification of the stored data. As another example, an analytic data store, such as a data warehouse, may be optimized for reporting, where vast quantities of data relating to an organization (or unit thereof) may be stored over time to analyze the performance of the organization. Accordingly, analytic data stores may use reporting data models that are generally tailored to facilitate analysis and reporting of the stored data.
Transactional data models generally ensure that data modifications can be made quickly by using relatively small data storage structures that can be modified independently of other transactional data structures. A relatively small data storage structure may be one that is comparable in size to the largest common change transaction. A change transaction is a transaction in which the stored data content is added, deleted, or otherwise changed, for example. A transactional data model can thus include individual data records that are comparable in size to common changes to content. For example, a transactional data model can include data records that correspond to individual sales orders in a business, individual customers, and/or individual products.
As mentioned above, reporting data models are generally tailored to facilitate analysis and/or reporting of stored data. In this regard, reporting data models generally ensure that large amounts of stored data can be accessed quickly and easily by using relatively large data storage structures. Also, reporting data models can be structured so that portions of the data model only include numeric data. Thus, an exhaustive or near-exhaustive search can thus be performed rapidly on this numeric data. A reporting data model can be several hundred or more times the size of common change transactions. For example, a reporting data model can be a relational data store such as a common warehouse metamodel (CWM) star schema that includes objects which store data regarding several thousand, million, or billion sales orders, customers, and/or products.
One problem associated with the use of both transactional data models and reporting data models is latency. It is generally desirable to have the most up to date data in an analytic data store so the reports are as accurate as possible. However, because the data in an analytic data store originates in a transactional data store, there is typically latency between the time a transaction actually occurs and the time the data changes are transferred to the analytic data store. This latency may result in reporting inaccuracies when queries are run against the analytic data store. Consequently, there exists a need for improved systems and methods for accessing data in transactional and analytic data stores. The present invention addresses this problem, and others, by providing systems and methods for performing direct reporting access to transactional data stores.